package com.ztmao.shortlink.project.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ztmao.shortlink.project.common.database.BaseDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @description link
 * @author zhengkai.blog.csdn.net
 * @date 2024-09-16
 */

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@TableName("t_link")
public class ShortLinkDO extends BaseDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    /**
    * 域名
    */
    private String domain;

    /**
    * 短链接
    */
    private String shortUri;

    /**
    * 完整短链接
    */
    private String fullShortUrl;

    /**
    * 原始链接
    */
    private String originUrl;

    /**
    * 点击量
    */
    private Integer clickNum;

    /**
    * 分组标识
    */
    private String gid;


    /**
     * 网站标识
     */
    private String favicon;

    /**
    * 启用标识 0：未启用 1：已启用
    */
    private int enableStatus;

    /**
    * 创建类型 0：控制台 1：接口
    */
    private int createdType;

    /**
    * 有效期类型 0：永久有效 1：用户自定义
    */
    private int validDateType;

    /**
    * 有效期
    */
    private Date validDate;

    /**
    * 描述
    */
    @TableField("description")
    private String description;

    /**
     * 历史PV
     */
    private Integer totalPv;

    /**
     * 历史UV
     */
    private Integer totalUv;

    /**
     * 历史UIP
     */
    private Integer totalUip;

    /**
     * 今日PV
     */
    @TableField(exist = false)
    private Integer todayPv;

    /**
     * 今日UV
     */
    @TableField(exist = false)
    private Integer todayUv;

    /**
     * 今日UIP
     */
    @TableField(exist = false)
    private Integer todayUip;

    /**
     * 删除时间
     */
    private Long delTime;
}